#include "raster_prim_in.h"

#define POINTS_MAX 2500000

class RRPoint
{
 public:
  int x;
  int y;
  float color[4];
};

class RRRasterizer
{
 private:
  int points_index;
  void rrLineRast(int s, int t);
  void rrLineStripRast();
  void rrLineLoopRast();
  void rrTriangleRast(int s, int t, int u);
  void rrHLineRast(int x0, int x1, int Y);
  void rrPolygonRast();
  void rrTriangleInterpolation(int X, int Y);
  RRPoint points[POINTS_MAX];
  void rrAddPoint(int X, int Y);
  int current_triangle[3];

 public:
  explicit RRRasterizer();
  RRRasterPrim prim;
  void rrSetPrim(RRRasterPrim &arg);
  void rrRast();
  int rrGetPointsNum();
  RRPoint rrGetPoint(int index);
};
